<!DOCTYPE html>

<html>
  <head>
    <meta charset="utf-8">
    
    <title>numpy.polynomial.polynomial.polyvalfromroots &mdash; NumPy v1.18 Manual</title>
    
    <link rel="stylesheet" type="text/css" href="../../_static/css/spc-bootstrap.css">
    <link rel="stylesheet" type="text/css" href="../../_static/css/spc-extend.css">
    <link rel="stylesheet" href="../../_static/scipy.css" type="text/css" >
    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" >
    <link rel="stylesheet" href="../../_static/graphviz.css" type="text/css" >
    
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../../',
        VERSION:     '1.18.1',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  false
      };
    </script>
    <script type="text/javascript" src="../../_static/jquery.js"></script>
    <script type="text/javascript" src="../../_static/underscore.js"></script>
    <script type="text/javascript" src="../../_static/doctools.js"></script>
    <script type="text/javascript" src="../../_static/language_data.js"></script>
    <script type="text/javascript" src="../../_static/js/copybutton.js"></script>
    <link rel="author" title="About these documents" href="../../about.html" >
    <link rel="index" title="Index" href="../../genindex.html" >
    <link rel="search" title="Search" href="../../search.html" >
    <link rel="top" title="NumPy v1.18 Manual" href="../../index.html" >
    <link rel="up" title="Polynomial Module (numpy.polynomial.polynomial)" href="../routines.polynomials.polynomial.html" >
    <link rel="next" title="numpy.polynomial.polynomial.polyfit" href="numpy.polynomial.polynomial.polyfit.html" >
    <link rel="prev" title="numpy.polynomial.polynomial.polyfromroots" href="numpy.polynomial.polynomial.polyfromroots.html" > 
  </head>
  <body>
<div class="container">
  <div class="top-scipy-org-logo-header" style="background-color: #a2bae8;">
    <a href="../../index.html">
      <img border=0 alt="NumPy" src="../../_static/numpy_logo.png"></a>
    </div>
  </div>
</div>


    <div class="container">
      <div class="main">
        
	<div class="row-fluid">
	  <div class="span12">
	    <div class="spc-navbar">
              
    <ul class="nav nav-pills pull-left">
        <li class="active"><a href="https://numpy.org/">NumPy.org</a></li>
        <li class="active"><a href="https://numpy.org/doc">Docs</a></li>
        
        <li class="active"><a href="../../index.html">NumPy v1.18 Manual</a></li>
        

          <li class="active"><a href="../index.html" >NumPy Reference</a></li>
          <li class="active"><a href="../routines.html" >Routines</a></li>
          <li class="active"><a href="../routines.polynomials.html" >Polynomials</a></li>
          <li class="active"><a href="../routines.polynomials.package.html" >Polynomial Package</a></li>
          <li class="active"><a href="../routines.polynomials.polynomial.html" accesskey="U">Polynomial Module (<code class="xref py py-mod docutils literal notranslate"><span class="pre">numpy.polynomial.polynomial</span></code>)</a></li> 
    </ul>
              
              
    <ul class="nav nav-pills pull-right">
      <li class="active">
        <a href="../../genindex.html" title="General Index"
           accesskey="I">index</a>
      </li>
      <li class="active">
        <a href="numpy.polynomial.polynomial.polyfit.html" title="numpy.polynomial.polynomial.polyfit"
           accesskey="N">next</a>
      </li>
      <li class="active">
        <a href="numpy.polynomial.polynomial.polyfromroots.html" title="numpy.polynomial.polynomial.polyfromroots"
           accesskey="P">previous</a>
      </li>
    </ul>
              
	    </div>
	  </div>
	</div>
        

	<div class="row-fluid">
      <div class="spc-rightsidebar span3">
        <div class="sphinxsidebarwrapper">
  <h4>Previous topic</h4>
  <p class="topless"><a href="numpy.polynomial.polynomial.polyfromroots.html"
                        title="previous chapter">numpy.polynomial.polynomial.polyfromroots</a></p>
  <h4>Next topic</h4>
  <p class="topless"><a href="numpy.polynomial.polynomial.polyfit.html"
                        title="next chapter">numpy.polynomial.polynomial.polyfit</a></p>
<div id="searchbox" style="display: none" role="search">
  <h4>Quick search</h4>
    <div>
    <form class="search" action="../../search.html" method="get">
      <input type="text" style="width: inherit;" name="q" />
      <input type="submit" value="search" />
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
    </div>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
          <div class="span9">
            
        <div class="bodywrapper">
          <div class="body" id="spc-section-body">
            
  <div class="section" id="numpy-polynomial-polynomial-polyvalfromroots">
<h1>numpy.polynomial.polynomial.polyvalfromroots<a class="headerlink" href="#numpy-polynomial-polynomial-polyvalfromroots" title="Permalink to this headline">¶</a></h1>
<dl class="function">
<dt id="numpy.polynomial.polynomial.polyvalfromroots">
<code class="sig-prename descclassname">numpy.polynomial.polynomial.</code><code class="sig-name descname">polyvalfromroots</code><span class="sig-paren">(</span><em class="sig-param">x</em>, <em class="sig-param">r</em>, <em class="sig-param">tensor=True</em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/numpy/numpy/blob/v1.18.1/numpy/polynomial/polynomial.py#L739-L824"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#numpy.polynomial.polynomial.polyvalfromroots" title="Permalink to this definition">¶</a></dt>
<dd><p>Evaluate a polynomial specified by its roots at points x.</p>
<p>If <em class="xref py py-obj">r</em> is of length <em class="xref py py-obj">N</em>, this function returns the value</p>
<div class="math">
<p><img src="../../_images/math/24521d408a4b71b1becd0919834d23e9500c2ea6.svg" alt="p(x) = \prod_{n=1}^{N} (x - r_n)"/></p>
</div><p>The parameter <em class="xref py py-obj">x</em> is converted to an array only if it is a tuple or a
list, otherwise it is treated as a scalar. In either case, either <em class="xref py py-obj">x</em>
or its elements must support multiplication and addition both with
themselves and with the elements of <em class="xref py py-obj">r</em>.</p>
<p>If <em class="xref py py-obj">r</em> is a 1-D array, then <em class="xref py py-obj">p(x)</em> will have the same shape as <em class="xref py py-obj">x</em>.  If <em class="xref py py-obj">r</em>
is multidimensional, then the shape of the result depends on the value of
<em class="xref py py-obj">tensor</em>. If <em class="xref py py-obj">tensor is ``True`</em> the shape will be r.shape[1:] + x.shape;
that is, each polynomial is evaluated at every value of <em class="xref py py-obj">x</em>. If <em class="xref py py-obj">tensor</em> is
<code class="docutils literal notranslate"><span class="pre">False</span></code>, the shape will be r.shape[1:]; that is, each polynomial is
evaluated only for the corresponding broadcast value of <em class="xref py py-obj">x</em>. Note that
scalars have shape (,).</p>
<div class="versionadded">
<p><span class="versionmodified added">New in version 1.12.</span></p>
</div>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><dl class="simple">
<dt><strong>x</strong><span class="classifier">array_like, compatible object</span></dt><dd><p>If <em class="xref py py-obj">x</em> is a list or tuple, it is converted to an ndarray, otherwise
it is left unchanged and treated as a scalar. In either case, <em class="xref py py-obj">x</em>
or its elements must support addition and multiplication with
with themselves and with the elements of <em class="xref py py-obj">r</em>.</p>
</dd>
<dt><strong>r</strong><span class="classifier">array_like</span></dt><dd><p>Array of roots. If <em class="xref py py-obj">r</em> is multidimensional the first index is the
root index, while the remaining indices enumerate multiple
polynomials. For instance, in the two dimensional case the roots
of each polynomial may be thought of as stored in the columns of <em class="xref py py-obj">r</em>.</p>
</dd>
<dt><strong>tensor</strong><span class="classifier">boolean, optional</span></dt><dd><p>If True, the shape of the roots array is extended with ones on the
right, one for each dimension of <em class="xref py py-obj">x</em>. Scalars have dimension 0 for this
action. The result is that every column of coefficients in <em class="xref py py-obj">r</em> is
evaluated for every element of <em class="xref py py-obj">x</em>. If False, <em class="xref py py-obj">x</em> is broadcast over the
columns of <em class="xref py py-obj">r</em> for the evaluation.  This keyword is useful when <em class="xref py py-obj">r</em> is
multidimensional. The default value is True.</p>
</dd>
</dl>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><dl class="simple">
<dt><strong>values</strong><span class="classifier">ndarray, compatible object</span></dt><dd><p>The shape of the returned array is described above.</p>
</dd>
</dl>
</dd>
</dl>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p><a class="reference internal" href="numpy.polynomial.polynomial.polyroots.html#numpy.polynomial.polynomial.polyroots" title="numpy.polynomial.polynomial.polyroots"><code class="xref py py-obj docutils literal notranslate"><span class="pre">polyroots</span></code></a>, <a class="reference internal" href="numpy.polynomial.polynomial.polyfromroots.html#numpy.polynomial.polynomial.polyfromroots" title="numpy.polynomial.polynomial.polyfromroots"><code class="xref py py-obj docutils literal notranslate"><span class="pre">polyfromroots</span></code></a>, <a class="reference internal" href="numpy.polynomial.polynomial.polyval.html#numpy.polynomial.polynomial.polyval" title="numpy.polynomial.polynomial.polyval"><code class="xref py py-obj docutils literal notranslate"><span class="pre">polyval</span></code></a></p>
</div>
<p class="rubric">Examples</p>
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="kn">from</span> <span class="nn">numpy.polynomial.polynomial</span> <span class="kn">import</span> <span class="n">polyvalfromroots</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">polyvalfromroots</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">])</span>
<span class="go">0.0</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">a</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">a</span>
<span class="go">array([[0, 1],</span>
<span class="go">       [2, 3]])</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">polyvalfromroots</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">])</span>
<span class="go">array([[-0.,   0.],</span>
<span class="go">       [ 6.,  24.]])</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">r</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="o">-</span><span class="mi">2</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span> <span class="c1"># multidimensional coefficients</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">r</span> <span class="c1"># each column of r defines one polynomial</span>
<span class="go">array([[-2, -1],</span>
<span class="go">       [ 0,  1]])</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">b</span> <span class="o">=</span> <span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">]</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">polyvalfromroots</span><span class="p">(</span><span class="n">b</span><span class="p">,</span> <span class="n">r</span><span class="p">,</span> <span class="n">tensor</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
<span class="go">array([[-0.,  3.],</span>
<span class="go">       [ 3., 0.]])</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">polyvalfromroots</span><span class="p">(</span><span class="n">b</span><span class="p">,</span> <span class="n">r</span><span class="p">,</span> <span class="n">tensor</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
<span class="go">array([-0.,  0.])</span>
</pre></div>
</div>
</dd></dl>

</div>


          </div>
        </div>
          </div>
        </div>
      </div>
    </div>

    <div class="container container-navbar-bottom">
      <div class="spc-navbar">
        
      </div>
    </div>
    <div class="container">
    <div class="footer">
    <div class="row-fluid">
    <ul class="inline pull-left">
      <li>
        &copy; Copyright 2008-2019, The SciPy community.
      </li>
      <li>
      Last updated on Feb 20, 2020.
      </li>
      <li>
      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 2.4.2.
      </li>
    </ul>
    </div>
    </div>
    </div>
  </body>
</html>